﻿#include "Tree.h"


//BTNode* CreateTree()
//{
//	BTNode* A = BuyBTNode('A');
//	BTNode* B = BuyBTNode('B');
//	BTNode* C = BuyBTNode('C');
//	BTNode* D = BuyBTNode('D');
//	BTNode* E = BuyBTNode('E');
//	BTNode* F = BuyBTNode('F');
//	//BTNode* G = BuyBTNode('G');
//	//BTNode* H = BuyBTNode('H');
//
//	A->left = B;
//	A->right = C;
//	B->left = D;
//	C->left = E;
//	C->right = F;
//
//	//F->left = G;
//	//G->left = H;
//	//F->right = H;
//
//	return A;
//}


int main()
{
	//BTNode* A = CreateTree();
	///*Preorder(A);
	//printf("\n");
	//Inorder(A);
	//printf("\n");
	//Postorder(A);*/
	//printf("%d ", BinaryTreeSize(A));
	//printf("%d ", BinaryTreeLeafSize(A));
	//printf("%d ", BinaryTreeLevelKSize(A,3));

	//printf("%d \n", BinaryTreeDepth(A));

	//BTNode*  find = BinaryTreeFind(A, 'H');
	//if (find)
	//{
	//	printf("find!!%c", find->val);
	//}
	//else
	//{
	//	printf("no find??");
	//}

	//LevelOrder(A);
	//
	//_Bool n = BinaryTreeComplete(A);
	//
	//BinaryTreeDestory(&A);

	char arr[] = "ABD##E#H##CF##G##";
	int i = 0;
	BTNode* A = BinaryTreeCreate(arr, &i);
	Preorder(A);
	printf("\n");
	Inorder(A);
	printf("\n");
	Postorder(A);
	BinaryTreeDestory(A);

	return 0;

}
